// base_setup.cpp
// Customizer_Base
// Protea Customizer/Customizer Pro / Setup for Customizer/Customizer Pro shared functionality
// Copyright (C) 2003, 2004, 2005 eXegeSys, Inc.
// Copyright (C) 2008 Bruce A. James
//
// This program is part of the Protea Project.
//
// The Protea Project is free software; you can redistribute it and/or modify it 
// under the terms of the GNU General Public License as published by the 
// Free Software Foundation, either version 3 of the License, or (at your 
// option) any later version.
//
// The Protea Project is distributed in the hope that it will be useful, but 
// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 
// for more details.
// 
// You should have received a copy of the GNU General Public License along 
// with this program.  If not, see <http://www.gnu.org/licenses/>.
//
// Please send correspondence to:
//
// theproteaproject@gmail.com
//

#include "base_setup.h"

//@ SEC 3
//@ CHA Database Review
//@ COD Database_Review
//@ PAR Field I
//@ GEN Use Database_Review to retrieve records from a database table
void Database_Review( XCBuffer* Buf, XCTransactionVars* Vars, long Field )
{
	//@ GRS Start of Subtransaction
	EXT_INFUNC( Database_Review, Vars->myapp );
		
		//@ Create a SQL SELECT Statement for the buffer
		Vars->query->MakeFull( SQL_STMT_SELECT, Buf );

		//@ Retrieve the record from the table
		XCDBStatement* Statement = Vars->dbtxn->ExecuteSQL( Vars->query );

		//@ If the record does not exist, then
		//@ ERR E (5020) This (Field) does not exist.
		if( Statement->Eof() )
		{
			Statement->Release();
			Vars->Errors->Add( ERR_DOESNT_EXIST, SEV_CRITICAL, Field, 1, Buf->GetField( Field )->GetDescrMessage() );
		}
		Statement->Release();

	//@ GRE End of Subtransaction

	EXT_OUTFUNC();
}
